/*
 * Powered By xTOOLs
 * Dev by tao.li8@pactera.com
 * Copyright ©2009-2018 pactera.com All rights reserved.
 * Generated at Aug 5, 2020 4:18:56 PM
 */

package com.pactera.jep.service.yapin.loan.model;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.pactera.jep.entity.PO;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import org.hibernate.validator.constraints.Length;

import javax.persistence.*;
import javax.validation.constraints.Digits;
import java.math.BigDecimal;
import java.util.Date;

/**
 * 关联贷款信息表实体类
 * @Author YourName
 * @Date Aug 5, 2020 4:18:56 PM
 */
@ApiModel(value = "Loan" , description = "关联贷款信息表")
@Entity
@Table(name = "bs_col_loaninfo")
public class Loan implements PO {

    @ApiModelProperty("编号")
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Length(max = 64, message = "编号长度最多64位")
    @Column(name = "ID_")
    private String id;

    @ApiModelProperty("借款合同编号")
    @Length(max = 40, message = "借款合同编号长度最多40位")
    @Column(name = "CTR_NO_")
    private String ctrNo;

    @ApiModelProperty("担保合同编号")
    @Length(max = 40, message = "担保合同编号长度最多40位")
    @Column(name = "GUAR_CTR_NO_")
    private String guarCtrNo;

    @ApiModelProperty("业务流水号")
    @Length(max = 40, message = "业务流水号长度最多40位")
    @Column(name = "SERIAL_NO_")
    private String serialNo;

    @ApiModelProperty("合同类型")
    @Length(max = 20, message = "合同类型长度最多20位")
    @Column(name = "LOAD_TP_CD_")
    private String loadTpCd;

    @ApiModelProperty("借款人名称")
    @Length(max = 100, message = "借款人名称长度最多100位")
    @Column(name = "CST_NM_")
    private String cstNm;

    @ApiModelProperty("借款人代码")
    @Length(max = 40, message = "借款人代码长度最多40位")
    @Column(name = "CST_NO_")
    private String cstNo;

    @ApiModelProperty("币种")
    @Length(max = 20, message = "币种长度最多20位")
    @Column(name = "CTR_CCY_CD_")
    private String ctrCcyCd;

    @ApiModelProperty("合同金额（元）")
    @Digits(integer = 18, fraction = 2, message = "合同金额（元）不能超过20位")
    @Column(name = "CTR_AMT_")
    private BigDecimal ctrAmt;

    @ApiModelProperty("合同金额（原币种）")
    @Digits(integer = 18, fraction = 2, message = "合同金额（原币种）不能超过20位")
    @Column(name = "CTR_CCY_AMT_")
    private BigDecimal ctrCcyAmt;

    @ApiModelProperty("拟用信金额（元）")
    @Digits(integer = 18, fraction = 2, message = "拟用信金额（元）不能超过20位")
    @Column(name = "SIMULAT_MAX_AMT_")
    private BigDecimal simulatMaxAmt;

    @ApiModelProperty("合同起始日")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @Column(name = "CTR_EFF_DT_")
    private Date ctrEffDt;

    @ApiModelProperty("合同到期日")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @Column(name = "CTR_MAT_DT_")
    private Date ctrMatDt;

    @ApiModelProperty("责任人")
    @Length(max = 100, message = "责任人长度最多100位")
    @Column(name = "OPR_USER_NO_")
    private String oprUserNo;

    @ApiModelProperty("责任机构")
    @Length(max = 100, message = "责任机构长度最多100位")
    @Column(name = "OPR_ORG_NO_")
    private String oprOrgNo;

    @ApiModelProperty("合同状态")
    @Length(max = 2, message = "合同状态长度最多2位")
    @Column(name = "CTR_STS_CD_")
    private String ctrStsCd;

    @ApiModelProperty("押品ID")
    @Length(max = 36, message = "押品ID长度最多36位")
    @Column(name = "CLT_ID_")
    private String cltId;

    @ApiModelProperty("租户ID")
    @Length(max = 64, message = "租户ID长度最多64位")
    @Column(name = "TENANT_ID_")
    private String tenantId;

    @ApiModelProperty("创建ID")
    @Length(max = 64, message = "创建ID长度最多64位")
    @Column(name = "CREATED_BY_ID_")
    private String createdById;

    @ApiModelProperty("创建姓名")
    @Length(max = 256, message = "创建姓名长度最多256位")
    @Column(name = "CREATED_BY_NAME_")
    private String createdByName;

    @ApiModelProperty("创建时间")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @Column(name = "CREATED_TIME_")
    private Date createdTime;

    @ApiModelProperty("删除标志")
    @Length(max = 1, message = "删除标志长度最多1位")
    @Column(name = "DELFLAG_")
    private String delflag;

    @ApiModelProperty("显示顺序")
    @Digits(integer = 10, fraction = 0, message = "显示顺序不能超过10位")
    @Column(name = "DISPLAY_ORDER_")
    private Integer displayOrder;

    @ApiModelProperty("修改ID")
    @Length(max = 64, message = "修改ID长度最多64位")
    @Column(name = "MODIFIED_BY_ID_")
    private String modifiedById;

    @ApiModelProperty("修改姓名")
    @Length(max = 256, message = "修改姓名长度最多256位")
    @Column(name = "MODIFIED_BY_NAME_")
    private String modifiedByName;

    @ApiModelProperty("修改时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @Column(name = "MODIFIED_TIME_")
    private Date modifiedTime;

    @ApiModelProperty("版本")
    @Digits(integer = 10, fraction = 0, message = "版本不能超过10位")
    @Column(name = "VERSION_")
    private Integer version;

    public String getId(){
        return id;
    }

    public void setId(String id){
        this.id = id;
    }
    public String getCtrNo(){
        return ctrNo;
    }

    public void setCtrNo(String ctrNo){
        this.ctrNo = ctrNo;
    }
    public String getGuarCtrNo(){
        return guarCtrNo;
    }

    public void setGuarCtrNo(String guarCtrNo){
        this.guarCtrNo = guarCtrNo;
    }
    public String getSerialNo(){
        return serialNo;
    }

    public void setSerialNo(String serialNo){
        this.serialNo = serialNo;
    }
    public String getLoadTpCd(){
        return loadTpCd;
    }

    public void setLoadTpCd(String loadTpCd){
        this.loadTpCd = loadTpCd;
    }
    public String getCstNm(){
        return cstNm;
    }

    public void setCstNm(String cstNm){
        this.cstNm = cstNm;
    }
    public String getCstNo(){
        return cstNo;
    }

    public void setCstNo(String cstNo){
        this.cstNo = cstNo;
    }
    public String getCtrCcyCd(){
        return ctrCcyCd;
    }

    public void setCtrCcyCd(String ctrCcyCd){
        this.ctrCcyCd = ctrCcyCd;
    }
    public BigDecimal getCtrAmt(){
        return ctrAmt;
    }

    public void setCtrAmt(BigDecimal ctrAmt){
        this.ctrAmt = ctrAmt;
    }
    public BigDecimal getCtrCcyAmt(){
        return ctrCcyAmt;
    }

    public void setCtrCcyAmt(BigDecimal ctrCcyAmt){
        this.ctrCcyAmt = ctrCcyAmt;
    }
    public BigDecimal getSimulatMaxAmt(){
        return simulatMaxAmt;
    }

    public void setSimulatMaxAmt(BigDecimal simulatMaxAmt){
        this.simulatMaxAmt = simulatMaxAmt;
    }
    public Date getCtrEffDt(){
        return ctrEffDt;
    }

    public void setCtrEffDt(Date ctrEffDt){
        this.ctrEffDt = ctrEffDt;
    }
    public Date getCtrMatDt(){
        return ctrMatDt;
    }

    public void setCtrMatDt(Date ctrMatDt){
        this.ctrMatDt = ctrMatDt;
    }
    public String getOprUserNo(){
        return oprUserNo;
    }

    public void setOprUserNo(String oprUserNo){
        this.oprUserNo = oprUserNo;
    }
    public String getOprOrgNo(){
        return oprOrgNo;
    }

    public void setOprOrgNo(String oprOrgNo){
        this.oprOrgNo = oprOrgNo;
    }
    public String getCtrStsCd(){
        return ctrStsCd;
    }

    public void setCtrStsCd(String ctrStsCd){
        this.ctrStsCd = ctrStsCd;
    }
    public String getCltId(){
        return cltId;
    }

    public void setCltId(String cltId){
        this.cltId = cltId;
    }
    public String getTenantId(){
        return tenantId;
    }

    public void setTenantId(String tenantId){
        this.tenantId = tenantId;
    }
    public String getCreatedById(){
        return createdById;
    }

    public void setCreatedById(String createdById){
        this.createdById = createdById;
    }
    public String getCreatedByName(){
        return createdByName;
    }

    public void setCreatedByName(String createdByName){
        this.createdByName = createdByName;
    }
    public Date getCreatedTime(){
        return createdTime;
    }

    public void setCreatedTime(Date createdTime){
        this.createdTime = createdTime;
    }
    public String getDelflag(){
        return delflag;
    }

    public void setDelflag(String delflag){
        this.delflag = delflag;
    }
    public Integer getDisplayOrder(){
        return displayOrder;
    }

    public void setDisplayOrder(Integer displayOrder){
        this.displayOrder = displayOrder;
    }
    public String getModifiedById(){
        return modifiedById;
    }

    public void setModifiedById(String modifiedById){
        this.modifiedById = modifiedById;
    }
    public String getModifiedByName(){
        return modifiedByName;
    }

    public void setModifiedByName(String modifiedByName){
        this.modifiedByName = modifiedByName;
    }
    public Date getModifiedTime(){
        return modifiedTime;
    }

    public void setModifiedTime(Date modifiedTime){
        this.modifiedTime = modifiedTime;
    }
    public Integer getVersion(){
        return version;
    }

    public void setVersion(Integer version){
        this.version = version;
    }
}

